﻿/*
最小公倍数 
Time Limit:1000MS  Memory Limit:32768K

  
	Description:
	给出一些数对求他们的最小公倍数
	
Sample Input:
6 8
3 5
Sample Output:
24
15
*/
#include <iostream>

namespace ctb{
inline unsigned gcd(unsigned m, unsigned n);
inline unsigned lcm(unsigned m, unsigned n);
}
unsigned ctb::gcd(unsigned m, unsigned n)
{
	while (1)
	{
		if(m>n)m-=n;
		else if(m<n)n-=m;
		else return m;
	}
}
unsigned ctb::lcm(unsigned m, unsigned n)
{
	if(m==0||n==0)return 0;
	if(1==m)return n;
	if(1==n)return m;
	return m/gcd(m,n)*n;
}
int main(int argc, char* argv[])
{
	unsigned m, n;
	while(std::cin>>m>>n)
	{
		std::cout<<ctb::lcm(m, n)<<std::endl;
	}
	return 0;
}